BTDSys PeerADSR
Installation
Put BTDSys PeerADSR.dll in your Gear\Generators folder.
Overview
PeerADSR is an envelope trigger, used to control other Buzz machines.
Envelopes can be set up using ADSR parameters, the Buzz envelope.ocx control,
or from wavetable samples.
- Add PeerADSR to your song, along with some other machine.
- You don't need to connect anything to PeerADSR in the machine view.
- Right click PeerADSR and select Assign Parameter, then click an unassigned
track.
- In this dialog, choose the machine and parameter you want to control.
- Click OK. Now enter '1's into the trigger column in the pattern view.
About Envelope Types
Three types of envelopes are available in PeerADSR:
- An ADSR envelope, whose shape is specified by the appropriate parameters.
- 'Custom' envelopes, drawn using Buzz's envelope.ocx control (in the machine's Custom
Envelopes dialog). The machine may store up to 200 of these at a time.
Note that if a Sustain point is specified in the envelope, an Off trigger (0 in the Trigger
parameter) must be used to end the sustain phase.
- Envelopes based on sample data from the wavetable. You may choose any one of the 200
samples in Buzz's wavetable.
Parameters
Track parameters
- Trigger - a value of 1 triggers the envelope from the beginning.
A value of 0 forces the currently playing envelope (if any) into its Release
phase.
- Envelope Type - specifies the type of envelope to be used.
- Envelope Number - specifies either the number of the custom envelope,
or the wavetable sample number to be used. If ADSR envelope mode is used, this
parameter is ignored.
- Envelope Length - specifies the total duration of custom or wavetable
envelopes. If ADSR envelope mode is used, this parameter is ignored.
- Min and Max - the minimum and maximum values of the
envelope (given as a percentage of the controlled parameter's range)
- Attack, Decay, Sustain Level, Sustain Time,
Release - the characteristics of the ADSR envelope. These are ignored
if Custom or Wvaetable envelope mode is used.
The (poorly done) ASCII diagram below shows the meaning of the parameters (in
case you didn't already know):
100% /\ Sus Time
/ \ <----------->
/ \_____________
/ <-> \ ^
/ Decay \ | Sus Level
0% / \ v
<----> <->
Attack Release
Note that if Sustain Time is set to infinite, an Off trigger (0 in the Trigger
parameter) must be used to end the sustain phase.
- Track - if you assign to a [T]rack parameter, which track will be controlled.
If it's set to All, then all the machine's tracks are controlled. If you assign to a
[G]lobal parameter, this has no effect.
Attributes
- Length Max - sets the maximum possible value of the Length parameters (in ticks). The
parameters are mapped linearly with this value at parameter value 0xFFFE, and a value of 0 ticks
at parameter value 0x0000 (theoretically).
- Subtick Control - sets whether the target machine will be controlled between Buzz's
ticks. You may set this to 0 (off) if you experience compatibility problems with some machines,
or you specifically want a "stepped" sound.
- MIDI Channel - the MIDI channel number the machine will respond to. If this is set to
0, MIDI functionality is disabled. If set to 17, the machine will respond to all channels.
- MIDI Track - which track of the PeerADSR machine will be triggered by MIDI
notes.
- MIDI Want Note Offs - sets whether PeerADSR responds to released notes (note off
messages).
The MIDI functionality triggers the envelope in response to all MIDI notes on the specified
channel.
Other Notes
- Note that if the PeerADSR machine is muted, it will cease to function properly. Hence do
not mute the machine.
- To smooth out the parameter movements on the target machine, you should use inertia if available.
Set it to a very short length (0.1 tick or less).
Contact
If you have comments or suggestions, or if you find any bugs
please
email me.
This machine is DONATIONWARE, so if you like it, send me something cool (eg CDs, hardware, money etc).
Email for details of how to get stuff to me.
Also visit my website (y'know, if you're bored).
Docs and code ⌐Ed Powley (BTDSys), August-October 2002